package com.thinkit.bigdata.web.controller;

import com.thinkit.bigdata.web.model.result.Constants;
import com.thinkit.bigdata.web.model.sec.User;
import org.apache.log4j.Logger;
import org.apache.shiro.SecurityUtils;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

/**
 * 视图控制器,返回jsp视图给前端
 *
 * @author StarZou
 * @since 2014年5月28日 下午4:00:49
 **/
@Controller
@RequestMapping("/page")
public class PageController {

    private static Logger logger = Logger.getLogger(PageController.class);

    /**
     * 首页
     * @return -
     */
    @RequestMapping("/log")
    public String home() {
        logger.info("访问首页");
        return "RunManageView/log";
    }
    @RequestMapping("/forgetPwd")
    public String forgetPwd() {
        logger.info("访问忘记密码");
        return "forgetPwd";
    }
    @RequestMapping("/main")
    public String main() {
        logger.info("访问首页");
        return "main";
    }
    @RequestMapping("/modelManagement")
    public String modelManagement() {
        logger.info("访问模型管理");
        return "qualityChecking/modelManagement";
    }
    @RequestMapping("/ruleManagement")
    public String ruleManagement() {
        logger.info("访问规则管理");
        return "qualityChecking/ruleManagement1";
    }
    @RequestMapping("/preQuality")
    public String preQuality() {
        logger.info("访问预质检管理");
        return "qualityChecking/preQuality";
    }
    @RequestMapping("/modelTest")
    public String modelTest() {
        logger.info("访问模型测检");
        return "qualityChecking/modelTest";
    }
    @RequestMapping("/autoTest")
    public String autoTest() {
        logger.info("访问自动质检任务");
        return "qualityChecking/autoTest";
    }
    @RequestMapping("/testResult")
    public String testResult(HttpServletRequest request, Model model){
        String logTxt = "【访问模型测检结果详情】";
        logger.info(logTxt);
        String workId = request.getParameter("workId");//任务id
        String modelId = request.getParameter("modelId");//模型id
        String modelName = request.getParameter("modelName");//模型id
        String pro = request.getParameter("pro");//省份
        logger.info(logTxt + "workId = " + workId);
        logger.info(logTxt + "modelId = " + modelId);
        logger.info(logTxt + "modelName = " + modelName);
        logger.info(logTxt + "pro = " + pro);
        model.addAttribute("workId", workId);
        model.addAttribute("modelId", modelId);
        model.addAttribute("modelName", modelName);
        model.addAttribute("pro", pro);
        return "qualityChecking/testResult";
    }
    @RequestMapping("/agencyTask")
    public String agencyTask(HttpServletRequest request, Model model) {
        String logTxt = "【访问代办任务】";
        String workId = request.getParameter("workId");//质检任务名称
        model.addAttribute("workId", workId);
        logger.info(logTxt + "workId = " + workId);
        return "personalViews/agencyTask";
    }
    @RequestMapping("/myWork")
    public String myWork(HttpServletRequest request, Model model) {
        String logTxt = "【访问我的工作】";
        String workId = request.getParameter("workId");//质检任务名称
        model.addAttribute("workId", workId);
        logger.info(logTxt + "workId = " + workId);
        return "personalViews/myWork";
    }

    @RequestMapping("/resultDetail")
    public String resultDetail(HttpServletRequest request, Model model) {
        String logTxt = "【访问我的工作结果详情】";
        logger.info(logTxt);
        String id = request.getParameter("id");//质检任务名称
        String workId = request.getParameter("workId");//质检任务名称
        String workName = request.getParameter("workName");//质检任务名称
        String callStartTime = request.getParameter("callStartTime");//质检考核周期 开始时间
        String callEndTime = request.getParameter("callEndTime");//质检考核周期 结束时间
        String seatId = request.getParameter("seatId");//坐席工号
        String monthlyAssess = request.getParameter("monthlyAssess");//坐席工号
        logger.info(logTxt + "workId = " + workId);
        logger.info(logTxt + "workName = " + workName);
        logger.info(logTxt + "seatId = " + seatId);
        logger.info(logTxt + "callStartTime = " + callStartTime);
        logger.info(logTxt + "callEndTime = " + callEndTime);
        logger.info(logTxt + "monthlyAssess = " + monthlyAssess);
        logger.info(logTxt + "id = " + id);
        model.addAttribute("id", id);
        model.addAttribute("workId", workId);
        model.addAttribute("workName", workName);
        model.addAttribute("callStartTime", callStartTime);
        model.addAttribute("callEndTime", callEndTime);
        model.addAttribute("seatId", seatId);
        model.addAttribute("callStartTime", callStartTime);
        model.addAttribute("callEndTime", callEndTime);
        model.addAttribute("monthlyAssess", monthlyAssess);
        return "detail/resultDetail";
    }
    @RequestMapping("/hitAudioNum")
    public String hitAudioNum(HttpServletRequest request, Model model) {
        String logTxt = "【问我的工作结果详情-命中语音】";
        logger.info(logTxt);
        String workId = request.getParameter("workId");//质检任务名称
        String callStartTime = request.getParameter("callStartTime");//质检考核周期 开始时间
        String callEndTime = request.getParameter("callEndTime");//质检考核周期 结束时间
        String seatId = request.getParameter("seatId");//坐席工号
        String ruleId = request.getParameter("ruleId");//规则ids
        String ruleName = request.getParameter("ruleName");//规则ids
        logger.info(logTxt + "workId = " + workId);
        logger.info(logTxt + "seatId = " + seatId);
        logger.info(logTxt + "callStartTime = " + callStartTime);
        logger.info(logTxt + "callEndTime = " + callEndTime);
        logger.info(logTxt + "ruleId = " + ruleId);
        logger.info(logTxt + "ruleName = " + ruleName);
        model.addAttribute("workId", workId);
        model.addAttribute("callStartTime", callStartTime);
        model.addAttribute("callEndTime", callEndTime);
        model.addAttribute("seatId", seatId);
        model.addAttribute("callStartTime", callStartTime);
        model.addAttribute("callEndTime", callEndTime);
        model.addAttribute("ruleId", ruleId);
        model.addAttribute("ruleName", ruleName);
        return "detail/hitAudioNum";
    }
    @RequestMapping("/userMessage")
    public String userMessage() {
        logger.info("访问个人设置");
        return "personalViews/userMessage";
    }
    @RequestMapping("/audioDetail")
    public String audioDetail(HttpServletRequest request, Model model, HttpSession session) {
        String logTxt = "【访问详情】";
        logger.info(logTxt);
        String workId = request.getParameter("workId");//质检任务名称
        String proStatus = request.getParameter("proStatus");//质检状态
        String seatGroup = request.getParameter("seatGroup");//坐席班组
        String seatId = request.getParameter("seatId");//坐席工号
        String customerNumber = request.getParameter("customerNumber");//客户号码
        String callStartTime = request.getParameter("callStartTime");//通话开始时间
        String callEndTime = request.getParameter("callEndTime");//通话结束时间
        String serialNumber = request.getParameter("serialNumber");//录音流水
        Integer userIdentity = Integer.parseInt(session.getAttribute("userIdentity").toString());//录音流水
        logger.info(logTxt + "workId = " + workId);
        logger.info(logTxt + "proStatus = " + proStatus);
        logger.info(logTxt + "seatGroup = " + seatGroup);
        logger.info(logTxt + "seatId = " + seatId);
        logger.info(logTxt + "customerNumber = " + customerNumber);
        logger.info(logTxt + "callStartTime = " + callStartTime);
        logger.info(logTxt + "callEndTime = " + callEndTime);
        logger.info(logTxt + "serialNumber = " + serialNumber);
        logger.info(logTxt + "userIdentity = " + userIdentity);
        model.addAttribute("workId", workId);
        model.addAttribute("proStatus", proStatus);
        model.addAttribute("seatGroup", seatGroup);
        model.addAttribute("seatId", seatId);
        model.addAttribute("customerNumber", customerNumber);
        model.addAttribute("callStartTime", callStartTime);
        model.addAttribute("callEndTime", callEndTime);
        model.addAttribute("serialNumber", serialNumber);
        model.addAttribute("userIdentity", userIdentity);
        return "detail/audioDetail";
    }
    @RequestMapping("/audioSearchDetail")
    public String audioSearchDetail(HttpServletRequest request, Model model, HttpSession session) {
        String logTxt = "【访问详情】";
        logger.info(logTxt);
        String workId = request.getParameter("workId");//质检任务名称
        String proStatus = request.getParameter("proStatus");//质检状态
        String seatGroup = request.getParameter("seatGroup");//坐席班组
        String seatId = request.getParameter("seatId");//坐席工号
        String customerNumber = request.getParameter("customerNumber");//客户号码
        String callStartTime = request.getParameter("callStartTime");//通话开始时间
        String callEndTime = request.getParameter("callEndTime");//通话结束时间
        String serialNumber = request.getParameter("serialNumber");//录音流水
        Integer userIdentity = Integer.parseInt(session.getAttribute("userIdentity").toString());//录音流水
        logger.info(logTxt + "workId = " + workId);
        logger.info(logTxt + "proStatus = " + proStatus);
        logger.info(logTxt + "seatGroup = " + seatGroup);
        logger.info(logTxt + "seatId = " + seatId);
        logger.info(logTxt + "customerNumber = " + customerNumber);
        logger.info(logTxt + "callStartTime = " + callStartTime);
        logger.info(logTxt + "callEndTime = " + callEndTime);
        logger.info(logTxt + "serialNumber = " + serialNumber);
        logger.info(logTxt + "userIdentity = " + userIdentity);
        model.addAttribute("workId", workId);
        model.addAttribute("proStatus", proStatus);
        model.addAttribute("seatGroup", seatGroup);
        model.addAttribute("seatId", seatId);
        model.addAttribute("customerNumber", customerNumber);
        model.addAttribute("callStartTime", callStartTime);
        model.addAttribute("callEndTime", callEndTime);
        model.addAttribute("serialNumber", serialNumber);
        model.addAttribute("userIdentity", userIdentity);
        return "speechViews/audioSearchDetail";
    }

    @RequestMapping("/modelTestDetail")
    public String modelTestDetail(HttpServletRequest request, Model model, HttpSession session) {
        String logTxt = "【访问详情】";
        logger.info(logTxt);
        String workId = request.getParameter("workId");//质检任务名称
        String proStatus = request.getParameter("proStatus");//质检状态
        String seatGroup = request.getParameter("seatGroup");//坐席班组
        String seatId = request.getParameter("seatId");//坐席工号
        String customerNumber = request.getParameter("customerNumber");//客户号码
        String callStartTime = request.getParameter("callStartTime");//通话开始时间
        String callEndTime = request.getParameter("callEndTime");//通话结束时间
        String serialNumber = request.getParameter("serialNumber");//录音流水
        String modelId = request.getParameter("modelId");//模型id
        String modelName = request.getParameter("modelName");//模型id
        Integer userIdentity = Integer.parseInt(session.getAttribute("userIdentity").toString());//录音流水
        logger.info(logTxt + "workId = " + workId);
        logger.info(logTxt + "proStatus = " + proStatus);
        logger.info(logTxt + "seatGroup = " + seatGroup);
        logger.info(logTxt + "seatId = " + seatId);
        logger.info(logTxt + "customerNumber = " + customerNumber);
        logger.info(logTxt + "callStartTime = " + callStartTime);
        logger.info(logTxt + "callEndTime = " + callEndTime);
        logger.info(logTxt + "serialNumber = " + serialNumber);
        logger.info(logTxt + "modelId = " + modelId);
        logger.info(logTxt + "modelName = " + modelName);
        logger.info(logTxt + "userIdentity = " + userIdentity);
        model.addAttribute("workId", workId);
        model.addAttribute("proStatus", proStatus);
        model.addAttribute("seatGroup", seatGroup);
        model.addAttribute("seatId", seatId);
        model.addAttribute("customerNumber", customerNumber);
        model.addAttribute("callStartTime", callStartTime);
        model.addAttribute("callEndTime", callEndTime);
        model.addAttribute("serialNumber", serialNumber);
        model.addAttribute("modelId", modelId);
        model.addAttribute("modelName", modelName);
        model.addAttribute("userIdentity", userIdentity);
        return "detail/modelTestDetail";
    }
    @RequestMapping("/tagMarkDetail")
    public String tagMarkDetail(HttpServletRequest request, Model model, HttpSession session) {
        String logTxt = "【访问详情】";
        logger.info(logTxt);
        String serialNumber = request.getParameter("serialNumber");//录音流水
        String scenes = request.getParameter("scenes");//场景
        String source = request.getParameter("source");//来源
        Integer userIdentity = Integer.parseInt(session.getAttribute("userIdentity").toString());//录音流水
        logger.info(logTxt + "serialNumber = " + serialNumber);
        logger.info(logTxt + "scenes = " + scenes);
        logger.info(logTxt + "source = " + source);
        logger.info(logTxt + "userIdentity = " + userIdentity);
        model.addAttribute("serialNumber", serialNumber);
        model.addAttribute("scenes", scenes);
        model.addAttribute("source", source);
        model.addAttribute("userIdentity", userIdentity);
        return "detail/tagMarkDetail";
    }
    @RequestMapping("/speechRetrieval")
    public String speechRetrieval() {
        logger.info("访问语音检索");
        return "speechViews/speechRetrieval";
    }
    @RequestMapping("/speechDetail")
    public String speechDetail(HttpServletRequest request, Model model, HttpSession session) {
        logger.info("访问规则命中量详情");
        String logTxt = "【访问话务统计管理】";
        logger.info(logTxt);
        String provinceCode = request.getParameter("pro");//坐席班组
        String seatGroup = request.getParameter("seatGroup");//坐席班组
        String seatId = request.getParameter("seatId");//坐席工号
        String seatName = request.getParameter("seatName");//坐席工号
        String callStartTime = request.getParameter("callStartTime");//通话开始时间
        String callEndTime = request.getParameter("callEndTime");//通话结束时间
        String workName = request.getParameter("workName");//任务
        String ruleId = request.getParameter("ruleId");//规则id
        String satisfaction = request.getParameter("satisfaction");//满意度
        String reCallFlag = request.getParameter("reCallFlag");//重复来电
        String ruleType = request.getParameter("ruleType");// 规则统计类型
        logger.info(logTxt + "provinceCode = " + provinceCode);
        logger.info(logTxt + "seatGroup = " + seatGroup);
        logger.info(logTxt + "seatId = " + seatId);
        logger.info(logTxt + "seatName = " + seatName);
        logger.info(logTxt + "callStartTime = " + callStartTime);
        logger.info(logTxt + "callEndTime = " + callEndTime);
        logger.info(logTxt + "workName = " + workName);
        logger.info(logTxt + "ruleId = " + ruleId);
        logger.info(logTxt + "satisfaction = " + satisfaction);
        logger.info(logTxt + "reCallFlag = " + reCallFlag);
        logger.info(logTxt + "ruleType = " + ruleType);
//
        model.addAttribute("provinceCode", provinceCode);
        model.addAttribute("seatGroup", seatGroup);
        model.addAttribute("seatId", seatId);
        model.addAttribute("seatName", seatName);
        model.addAttribute("callStartTime", callStartTime);
        model.addAttribute("callEndTime", callEndTime);
        model.addAttribute("workName", workName);
        model.addAttribute("ruleId", ruleId);
        model.addAttribute("satisfaction", satisfaction);
        model.addAttribute("reCallFlag", reCallFlag);
        model.addAttribute("ruleType", ruleType);
        return "speechViews/speechRetrieval";
    }
    @RequestMapping("/sttErrorAudio")
    public String sttErrorAudio() {
        logger.info("访问异常语音检索");
        return "speechViews/sttErrorAudio";
    }

    @RequestMapping("/audioRetrieval")
    public String audioRetrieval(HttpServletRequest request, Model model, HttpSession session) {
        logger.info("访问音频检索");
        String logTxt = "【访问音频检索】";
        logger.info(logTxt);
        String tagPro = request.getParameter("tagPro");//标签省份
        String tagCustomerloc = request.getParameter("tagCustomerloc");//归属地
        String tagStartTime = request.getParameter("tagStartTime");//通话开始时间
        String tagEndTime = request.getParameter("tagEndTime");//通话结束时间
        String sysTagIds = request.getParameter("sysTagIds");//系统标签
        String sysTagNames = request.getParameter("sysTagNames");//系统标签
        String sysOperator = request.getParameter("sysOperator");//系统标签关系
        String telTagIds = request.getParameter("telTagIds");//话务小节
        String telTagNames = request.getParameter("telTagNames");//话务小节
        String telOperator = request.getParameter("telOperator");//话务小节关系
        String tagType = request.getParameter("tagType");//区分总打标量、系统打标量、人工打标量、人工纠正量
        String reCallFlag = request.getParameter("reCallFlag");//重复来电
        String satisfaction = request.getParameter("satisfaction");//满意度
        String customerLevels = request.getParameter("customerLevels");//用户星级
        String tagSence = request.getParameter("tagSence");//业务分类/场景
        logger.info(logTxt + "tagPro = " + tagPro);
        logger.info(logTxt + "tagCustomerloc = " + tagCustomerloc);
        logger.info(logTxt + "tagStartTime = " + tagStartTime);
        logger.info(logTxt + "tagEndTime = " + tagEndTime);
        logger.info(logTxt + "sysTagIds = " + sysTagIds);
        logger.info(logTxt + "sysTagNames = " + sysTagNames);
        logger.info(logTxt + "sysOperator = " + sysOperator);
        logger.info(logTxt + "telTagIds = " + telTagIds);
        logger.info(logTxt + "telTagNames = " + telTagNames);
        logger.info(logTxt + "telOperator = " + telOperator);
        logger.info(logTxt + "tagType = " + tagType);
        logger.info(logTxt + "reCallFlag = " + reCallFlag);
        logger.info(logTxt + "satisfaction = " + satisfaction);
        logger.info(logTxt + "customerLevels = " + customerLevels);
        logger.info(logTxt + "tagSence = " + tagSence);
        model.addAttribute("tagPro", tagPro);
        model.addAttribute("tagCustomerloc", tagCustomerloc);
        model.addAttribute("tagStartTime", tagStartTime);
        model.addAttribute("tagEndTime", tagEndTime);
        model.addAttribute("sysTagIds", sysTagIds);
        model.addAttribute("sysTagNames", sysTagNames);
        model.addAttribute("sysOperator", sysOperator);
        model.addAttribute("telTagIds", telTagIds);
        model.addAttribute("telTagNames", telTagNames);
        model.addAttribute("telOperator", telOperator);
        model.addAttribute("tagType", tagType);
        model.addAttribute("reCallFlag", reCallFlag);
        model.addAttribute("satisfaction", satisfaction);
        model.addAttribute("customerLevels", customerLevels);
        model.addAttribute("tagSence", tagSence);
        return "speechViews/audioRetrieval";
    }

    @RequestMapping("/dataMiningAudioRetrieval")
    public String dataMiningAudioRetrieval(HttpServletRequest request, Model model, HttpSession session) {
        logger.info("访问音频检索");
        String logTxt = "【访问音频检索】";
        logger.info(logTxt);
        String tagPro = request.getParameter("tagPro");//省份/城市
        String tagProOnly = request.getParameter("tagProOnly");//仅有省份
        String tagProName = request.getParameter("tagProName");//省份名称
        String tagProType = request.getParameter("tagProType");//全国 全国5G 重点5G
        String tagStartTime = request.getParameter("tagStartTime");//通话开始时间
        String tagEndTime = request.getParameter("tagEndTime");//通话结束时间
        String sysTagIds = request.getParameter("sysTagIds");//系统标签
        String sysTagNames = request.getParameter("sysTagNames");//系统标签
        String sysOperator = request.getParameter("sysOperator");//系统标签关系
        String telTagIds = request.getParameter("telTagIds");//话务小节
        String telTagNames = request.getParameter("telTagNames");//话务小节
        String telOperator = request.getParameter("telOperator");//话务小节关系
        String tagType = request.getParameter("tagType");//区分总打标量、系统打标量、人工打标量、人工纠正量
        String reCallFlag = request.getParameter("reCallFlag");//重复来电
        String satisfaction = request.getParameter("satisfaction");//满意度
        String customerLevels = request.getParameter("customerLevels");//用户星级
        String tagSence = request.getParameter("tagSence");//业务分类/场景
        logger.info(logTxt + "tagPro = " + tagPro);
        logger.info(logTxt + "tagProOnly = " + tagProOnly);
        logger.info(logTxt + "tagProName = " + tagProName);
        logger.info(logTxt + "tagProType = " + tagProType);
        logger.info(logTxt + "tagStartTime = " + tagStartTime);
        logger.info(logTxt + "tagEndTime = " + tagEndTime);
        logger.info(logTxt + "sysTagIds = " + sysTagIds);
        logger.info(logTxt + "sysTagNames = " + sysTagNames);
        logger.info(logTxt + "sysOperator = " + sysOperator);
        logger.info(logTxt + "telTagIds = " + telTagIds);
        logger.info(logTxt + "telTagNames = " + telTagNames);
        logger.info(logTxt + "telOperator = " + telOperator);
        logger.info(logTxt + "tagType = " + tagType);
        logger.info(logTxt + "reCallFlag = " + reCallFlag);
        logger.info(logTxt + "satisfaction = " + satisfaction);
        logger.info(logTxt + "customerLevels = " + customerLevels);
        logger.info(logTxt + "tagSence = " + tagSence);
        model.addAttribute("tagPro", tagPro);
        model.addAttribute("tagProOnly", tagProOnly);
        model.addAttribute("tagProName", tagProName);
        model.addAttribute("tagProType", tagProType);
        model.addAttribute("tagStartTime", tagStartTime);
        model.addAttribute("tagEndTime", tagEndTime);
        model.addAttribute("sysTagIds", sysTagIds);
        model.addAttribute("sysTagNames", sysTagNames);
        model.addAttribute("sysOperator", sysOperator);
        model.addAttribute("telTagIds", telTagIds);
        model.addAttribute("telTagNames", telTagNames);
        model.addAttribute("telOperator", telOperator);
        model.addAttribute("tagType", tagType);
        model.addAttribute("reCallFlag", reCallFlag);
        model.addAttribute("satisfaction", satisfaction);
        model.addAttribute("customerLevels", customerLevels);
        model.addAttribute("tagSence", tagSence);
        return "speechViews/dataMiningAudioRetrieval";
    }

    @RequestMapping("/tagMarkList")
    public String tagMarkList(HttpServletRequest request, Model model, HttpSession session) {
        logger.info("访问标签统计列表检索");
        String logTxt = "【访问标签统计列表检索】";
        logger.info(logTxt);
        String tagPro = request.getParameter("tagPro");//标签省份
        String tagStartTime = request.getParameter("tagStartTime");//通话开始时间
        String tagEndTime = request.getParameter("tagEndTime");//通话结束时间
        String sysTagIds = request.getParameter("sysTagIds");//系统标签
        String sysTagNames = request.getParameter("sysTagNames");//系统标签
        String sysOperator = request.getParameter("sysOperator");//系统标签关系
        String telTagIds = request.getParameter("telTagIds");//话务小节
        String telTagNames = request.getParameter("telTagNames");//话务小节
        String telOperator = request.getParameter("telOperator");//话务小节关系
        String tagType = request.getParameter("tagType");//区分总打标量、系统打标量、人工打标量、人工纠正量
        String reCallFlag = request.getParameter("reCallFlag");//重复来电
        String satisfaction = request.getParameter("satisfaction");//满意度
        String customerLevels = request.getParameter("customerLevels");//用户星级
        String customerloc = request.getParameter("customerloc");//归属地
        String taggingError = request.getParameter("taggingError");//流水号
        String source = request.getParameter("source");//来源入口 导出调用接口区分
        logger.info(logTxt + "tagPro = " + tagPro);
        logger.info(logTxt + "tagStartTime = " + tagStartTime);
        logger.info(logTxt + "tagEndTime = " + tagEndTime);
        logger.info(logTxt + "sysTagIds = " + sysTagIds);
        logger.info(logTxt + "sysTagNames = " + sysTagNames);
        logger.info(logTxt + "sysOperator = " + sysOperator);
        logger.info(logTxt + "telTagIds = " + telTagIds);
        logger.info(logTxt + "telTagNames = " + telTagNames);
        logger.info(logTxt + "telOperator = " + telOperator);
        logger.info(logTxt + "tagType = " + tagType);
        logger.info(logTxt + "reCallFlag = " + reCallFlag);
        logger.info(logTxt + "satisfaction = " + satisfaction);
        logger.info(logTxt + "customerLevels = " + customerLevels);
        logger.info(logTxt + "customerloc = " + customerloc);
        logger.info(logTxt + "taggingError = " + taggingError);
        logger.info(logTxt + "source = " + source);
        model.addAttribute("tagPro", tagPro);
        model.addAttribute("tagStartTime", tagStartTime);
        model.addAttribute("tagEndTime", tagEndTime);
        model.addAttribute("sysTagIds", sysTagIds);
        model.addAttribute("sysTagNames", sysTagNames);
        model.addAttribute("sysOperator", sysOperator);
        model.addAttribute("telTagIds", telTagIds);
        model.addAttribute("telTagNames", telTagNames);
        model.addAttribute("telOperator", telOperator);
        model.addAttribute("tagType", tagType);
        model.addAttribute("reCallFlag", reCallFlag);
        model.addAttribute("satisfaction", satisfaction);
        model.addAttribute("customerLevels", customerLevels);
        model.addAttribute("customerloc", customerloc);
        model.addAttribute("taggingError", taggingError);
        model.addAttribute("source", source);
        return "analyticStatistics/tagMarkList";
    }
    @RequestMapping("/semantemeMarkList")
    public String semantemeMarkList(HttpServletRequest request, Model model, HttpSession session) {
        logger.info("访问语义标注列表检索");
        String logTxt = "【访问语义标注列表检索】";
        logger.info(logTxt);
        String tagPro = request.getParameter("tagPro");//省份/城市
        String tagProOnly = request.getParameter("tagProOnly");//仅有省份
        String tagProName = request.getParameter("tagProName");//省份名称
        String tagProType = request.getParameter("tagProType");//全国 全国5G 重点5G
        String tagStartTime = request.getParameter("tagStartTime");//通话开始时间
        String tagEndTime = request.getParameter("tagEndTime");//通话结束时间
        String reCallFlag = request.getParameter("reCallFlag");//重复来电
        String satisfaction = request.getParameter("satisfaction");//满意度
        String customerLevels = request.getParameter("customerLevels");//用户星级
        String classification = request.getParameter("classification");//业务分类
        String scene = request.getParameter("scene");//场景
        String queryVoice = request.getParameter("queryVoice");//从哪里点入列表页（匹配量 错误匹配量）
        logger.info(logTxt + "tagPro = " + tagPro);
        logger.info(logTxt + "tagProOnly = " + tagProOnly);
        logger.info(logTxt + "tagProName = " + tagProName);
        logger.info(logTxt + "tagProType = " + tagProType);
        logger.info(logTxt + "tagStartTime = " + tagStartTime);
        logger.info(logTxt + "tagEndTime = " + tagEndTime);
        logger.info(logTxt + "reCallFlag = " + reCallFlag);
        logger.info(logTxt + "satisfaction = " + satisfaction);
        logger.info(logTxt + "customerLevels = " + customerLevels);
        logger.info(logTxt + "classification = " + classification);
        logger.info(logTxt + "scene = " + scene);
        logger.info(logTxt + "queryVoice = " + queryVoice);
        model.addAttribute("tagPro", tagPro);
        model.addAttribute("tagProOnly", tagProOnly);
        model.addAttribute("tagProName", tagProName);
        model.addAttribute("tagProType", tagProType);
        model.addAttribute("tagStartTime", tagStartTime);
        model.addAttribute("tagEndTime", tagEndTime);
        model.addAttribute("reCallFlag", reCallFlag);
        model.addAttribute("satisfaction", satisfaction);
        model.addAttribute("customerLevels", customerLevels);
        model.addAttribute("classification", classification);
        model.addAttribute("scene", scene);
        model.addAttribute("queryVoice", queryVoice);
        return "analyticStatistics/semantemeMarkList";
    }
    @RequestMapping("/tag")
    public String tag() {
        logger.info("访问标签管理");
        return "tagManagement/tag";
    }
    @RequestMapping("/ftpSearch")
    public String ftpSearch() {
        logger.info("访问ftp文件查询");
        return "tagManagement/ftpSearch";
    }
    @RequestMapping("/telephoneStatistic")
    public String telephoneStatistic() {
        return "analyticStatistics/telephoneStatistic";
    }
    @RequestMapping("/telephoneDetail")
    public String telephoneDetail(HttpServletRequest request, Model model, HttpSession session) {
        logger.info("访问话务量详情");
        String logTxt = "【访问话务统计管理】";
        logger.info(logTxt);
        String provinceCode = request.getParameter("provinceCode");//坐席班组
        String seatGroup = request.getParameter("seatGroup");//坐席班组
        String seatId = request.getParameter("seatId");//坐席工号
        String customerNumber = request.getParameter("customerNumber");//客户号码
        String callStartTime = request.getParameter("callStartTime");//通话开始时间
        String callEndTime = request.getParameter("callEndTime");//通话结束时间
        String reCallFlag = request.getParameter("reCallFlag");//通话结束时间
        String sat = request.getParameter("sat");//滿意度
        String hu = request.getParameter("hu");//呼入呼出

        logger.info(logTxt + "provinceCode = " + provinceCode);
        logger.info(logTxt + "seatGroup = " + seatGroup);
        logger.info(logTxt + "seatId = " + seatId);
        logger.info(logTxt + "customerNumber = " + customerNumber);
        logger.info(logTxt + "callStartTime = " + callStartTime);
        logger.info(logTxt + "callEndTime = " + callEndTime);
        logger.info(logTxt + "reCallFlag = " + reCallFlag);
        logger.info(logTxt + "sat = " + sat);
        logger.info(logTxt + "hu = " + hu);
//
        model.addAttribute("provinceCode", provinceCode);
        model.addAttribute("seatGroup", seatGroup);
        model.addAttribute("seatId", seatId);
        model.addAttribute("customerNumber", customerNumber);
        model.addAttribute("callStartTime", callStartTime);
        model.addAttribute("callEndTime", callEndTime);
        model.addAttribute("reCallFlag", reCallFlag);
        model.addAttribute("sat", sat);
        model.addAttribute("hu", hu);
        return "analyticStatistics/telephoneNumDetail";
    }
    @RequestMapping("/tagStatistic")
    public String tagStatistic() {
        logger.info("访问标签统计");
        return "analyticStatistics/tagStatistic";
    }
    @RequestMapping("/tagAccuracyStatistic")
    public String tagAccuracyStatistic() {
        logger.info("访问标签标注统计");
        return "analyticStatistics/tagAccuracyStatistic";
    }
    @RequestMapping("/semantemeAccuracyStatistic")
    public String semantemeAccuracyStatistic() {
        logger.info("访问语义标注统计");
        return "analyticStatistics/semantemeAccuracyStatistic";
    }
    @RequestMapping("/ruleStatistic")
    public String ruleStatistic(HttpServletRequest request, Model model, HttpSession session) {
        logger.info("访问规则统计");
        String logTxt = "【访问规则统计】";
        logger.info(logTxt);
        String pro = request.getParameter("pro");//省份
        String workId = request.getParameter("workId");//任务id
        logger.info(logTxt + "pro = " + pro);
        logger.info(logTxt + "workId = " + workId);
        model.addAttribute("pro", pro);
        model.addAttribute("workId", workId);
        return "analyticStatistics/ruleStatistic";
    }
    @RequestMapping("/agreeStatistic")
    public String agreeStatistic() {
        logger.info("访问满意度统计");
        return "analyticStatistics/agreeStatistic";
    }
    @RequestMapping("/semanticUncertaintyStatistic")
    public String semanticUncertaintyStatistic() {
        logger.info("访问语义未识别统计");
        return "analyticStatistics/semanticUncertaintyStatistic";
    }
    @RequestMapping("/semanticErrorStatistic")
    public String semanticErrorStatistic() {
        logger.info("访问语义异常统计");
        return "analyticStatistics/semanticErrorStatistic";
    }
    @RequestMapping("businessTrend")
    public String businessTrend() {
        logger.info("访问业务趋势概览");
        return "dataMining/businessTrend";
    }

    @RequestMapping("businessScene")
    public String businessScene() {
        logger.info("访问业务场景概览");
        return "dataMining/businessScene";
    }
    @RequestMapping("keyScene")
    public String keyScene() {
        logger.info("访问关键场景分析");
        return "dataMining/keyScene";
    }
    @RequestMapping("geothermalMap")
    public String geothermalMap() {
        logger.info("访问地域热力图分析");
        return "dataMining/geothermalMap";
    }
    @RequestMapping("keyBusiness")
    public String keyBusiness() {
        logger.info("访问重点业务分析");
        return "dataMining/keyBusiness";
    }
    @RequestMapping("nonThematicAnalysis")
    public String nonThematicAnalysis() {
        logger.info("访问无主题分析");
        return "dataMining/nonThematicAnalysis";
    }
    @RequestMapping("phoneExport")
    public String phoneExport() {
        logger.info("访问话务明细导出");
        return "dataMining/phoneExport";
    }
    @RequestMapping("GCityExport")
    public String GCityExport() {
        logger.info("访问5G城市数据导出");
        return "dataMining/5GCityExport";
    }
    @RequestMapping("personalMake")
    public String personalMake() {
        logger.info("访问个性化定制");
        return "dataMining/personalMake";
    }
    @RequestMapping("keySceneCog")
    public String keySceneCog() {
        logger.info("关键词场景配置");
        return "dataMining/keySceneCog";
    }
    @RequestMapping("keyTrend")
    public String keyTrend(HttpServletRequest request, Model model, HttpSession session) {
        logger.info("访问关键词趋势");
        String logTxt = "【访问关键词趋势】";
        logger.info(logTxt);
        String startTime = request.getParameter("startTime");//日期
        String endTime = request.getParameter("endTime");//日期
        String pro = request.getParameter("pro");//省份
        String code = request.getParameter("code");//省份标识
        String reCall = request.getParameter("reCall");//重复来电
        String satisfaction = request.getParameter("satisfaction");//满意度
        String customerLevel = request.getParameter("customerLevel");//客户星级
        String key = request.getParameter("key");//满意度
        String keyType = request.getParameter("keyType");//满意度
        String scene = request.getParameter("scene");//场景
        String serviceId = request.getParameter("serviceId");//业务分类id
        String telVal = request.getParameter("telVal");//标签名
        String telR = request.getParameter("telR");//标签关系
        String sysVal = request.getParameter("sysVal");//标签名
        String sysR = request.getParameter("sysR");//标签关系
        logger.info(logTxt + "startTime = " + startTime);
        logger.info(logTxt + "endTime = " + endTime);
        logger.info(logTxt + "pro = " + pro);
        logger.info(logTxt + "code = " + code);
        logger.info(logTxt + "reCall = " + reCall);
        logger.info(logTxt + "satisfaction = " + satisfaction);
        logger.info(logTxt + "customerLevel = " + customerLevel);
        logger.info(logTxt + "key = " + key);
        logger.info(logTxt + "keyType = " + keyType);
        logger.info(logTxt + "scene = " + scene);
        logger.info(logTxt + "serviceId = " + serviceId);
        logger.info(logTxt + "telVal = " + telVal);
        logger.info(logTxt + "telR = " + telR);
        logger.info(logTxt + "sysVal = " + sysVal);
        logger.info(logTxt + "sysR = " + sysR);
//
        model.addAttribute("startTime", startTime);
        model.addAttribute("endTime", endTime);
        model.addAttribute("pro", pro);
        model.addAttribute("code", code);
        model.addAttribute("reCall", reCall);
        model.addAttribute("satisfaction", satisfaction);
        model.addAttribute("customerLevel", customerLevel);
        model.addAttribute("key", key);
        model.addAttribute("keyType", keyType);
        model.addAttribute("scene", scene);
        model.addAttribute("serviceId", serviceId);
        model.addAttribute("telVal", telVal);
        model.addAttribute("telR", telR);
        model.addAttribute("sysVal", sysVal);
        model.addAttribute("sysR", sysR);
        return "dataMining/keyTrend";
    }
    @RequestMapping("relationChart")
    public String relationChart(HttpServletRequest request, Model model, HttpSession session) {
        logger.info("访问关系图谱");
        String logTxt = "【访问关系图谱】";
        logger.info(logTxt);
        String keyName = request.getParameter("keyName");//关键词
        String startTime = request.getParameter("startTime");//关键词
        String endTime = request.getParameter("endTime");//关键词
        String code = request.getParameter("code");//关键词
        logger.info(logTxt + "keyName = " + keyName);
        logger.info(logTxt + "startTime = " + startTime);
        logger.info(logTxt + "endTime = " + endTime);
        logger.info(logTxt + "code = " + code);
        model.addAttribute("keyName", keyName);
        model.addAttribute("startTime", startTime);
        model.addAttribute("endTime", endTime);
        model.addAttribute("code", code);

        return "dataMining/relationChart";
    }
    @RequestMapping("personalResult")
    public String personalResult(HttpServletRequest request, Model model, HttpSession session) {
        logger.info("访问个性化定制结果");
        String logTxt = "【访问个性化定制结果】";
        logger.info(logTxt);
        String taskId = request.getParameter("taskId");//任务id
        String taskName = request.getParameter("taskName");//任务id
        String contentType = request.getParameter("contentType");//热词、诉求
        logger.info(logTxt + "taskId = " + taskId);
        logger.info(logTxt + "taskName = " + taskName);
        logger.info(logTxt + "contentType = " + contentType);
        model.addAttribute("taskId", taskId);
        model.addAttribute("taskName", taskName);
        model.addAttribute("contentType", contentType);
        return "dataMining/personalResult";
    }
    @RequestMapping("personalResultDetail")
    public String personalResultDetail(HttpServletRequest request, Model model, HttpSession session) {
        logger.info("访问个性化定制结果关系图铺");
        String logTxt = "【访问个性化定制结果关系图铺】";
        logger.info(logTxt);
        String taskId = request.getParameter("taskId");//关键词
        String keyName = request.getParameter("keyName");//关键词
        logger.info(logTxt + "taskId = " + taskId);
        logger.info(logTxt + "keyName = " + keyName);
        model.addAttribute("taskId", taskId);
        model.addAttribute("keyName", keyName);
        return "dataMining/personalResultDetail";
    }
    @RequestMapping("auditData")
    public String auditData() {
        logger.info("审核数据");
        return "SercutiryViews/auditData";
    }
    @RequestMapping("auditFlowSet")
    public String auditFlowSet() {
        logger.info("审批流程设置");
        return "SercutiryViews/auditFlowSet";
    }
    @RequestMapping("auditResult")
    public String auditResult() {
        logger.info("审批结果");
        return "SercutiryViews/auditResult";
    }
    @RequestMapping("businessKeyCog")
    public String businessKeyCog() {
        logger.info("重点业务关键词配置");
        return "dataMining/businessKeyCog";
    }
    @RequestMapping("excludedWordsCog")
    public String excludedWordsCog() {
        logger.info("排除关键词配置");
        return "dataMining/excludedWordsCog";
    }

    /**
     * 登录页
     */
    @RequestMapping("/login")
    public String login() {
        logger.info(" 访问登录界面");
        // 获取当前登录用户信息
        User userInfo = (User) SecurityUtils.getSubject().getSession().getAttribute(Constants.SESSION_USER_INFO);
        if (userInfo != null) {
            return "redirect:/";
        }
        return "login";
    }

    /**
     * 登录强制修改密码页
     */
    @RequestMapping("/password")
    public String password() {
        return "password";
    }
    /**
     * 帮助文档
     */
    @RequestMapping("/help")
    public String help() {
        return "help";
    }
    /**
     * 404页
     */
    @RequestMapping("/404")
    public String error404() {
        return "TipsConfigViews/404";
    }

    /**
     * 401页
     */
    @RequestMapping("/401")
    public String error401() {
        return "TipsConfigViews/401";
    }

    /**
     * 500页
     */
    @RequestMapping("/500")
    public String error500() {
        return "TipsConfigViews/500";
    }
    /**
     * 功能维护中页面
     */
    @RequestMapping("/sysDeveloping")
    public String sys() {
        return "TipsConfigViews/systemDeveloping";
    }
    /**
     * 语音标注页面
     */
    @RequestMapping("/tagResult")
    public String tagResult() {
        return "tag/tagResult";
    }
    /**
     * 语音审核页面
     */
    @RequestMapping("/auditAudio")
    public String auditAudio() {
        return "tag/auditAudio";
    }

    /**
     * 语料审核页面
     */
    @RequestMapping("/curposAudit")
    public String curposAudit() {
        return "tag/curposAudit";
    }
    /**
     * 标注统计页面
     */
    @RequestMapping("/tagStatistics")
    public String tagStatistics() {
        return "tag/tagStatistics";
    }
    /**
     * 标注详情页
     */
    @RequestMapping("/tagDetail")
    public String tagDetail() {
        return "/tag/tagDetail";
    }
}
